"""
地狱级多空分分合合案例
- 单策略
- 24H，24个offset
- 使用现货
- 选币因子：QuoteVolumeMean
- 多空分离：权重
- 多空分离：offset list
- 多空分离：策略、因子、过滤
- 多空分离：多策略，多因子，多过滤，多offset组合分离+融合
"""
strategy_list = [
    # ===========================================================
    # !!! 实盘前先回测一下，不要无脑跑案例策略，没人能保证案例策略能赚钱 !!!
    # 以下配置非官方提供的案例策略，这里只是举例如何配置，具体配置请自行处理
    # ===========================================================
    # 多头策略配置
    {
        # 策略名称。与strategy目录中的策略文件名保持一致。
        "strategy": "Strategy_QuoteVolumeMean",
        "offset_list": list(range(0, 24, 1)),
        "hold_period": "24H",
        "is_use_spot": True,
        # 资金权重。程序会自动根据这个权重计算你的策略占比，具体可以看1.8的直播讲解
        "cap_weight": 0.7,
        # 多头和空头资金配比，默认是 1:1
        "long_cap_weight": 1,  # 策略内多头资金权重
        "short_cap_weight": 0,  # 策略内空头资金权重
        # 选币因子信息列表，用于`2_选币_单offset.py`，`3_计算多offset资金曲线.py`共用计算资金曲线
        "factor_list": [
            ('QuoteVolumeMean', True, 168, 1)  # 因子名（和factors文件中相同），排序方式，参数，权重。
        ],
        # 确认过滤因子及其参数，用于`2_选币_单offset.py`进行过滤
        "filter_list": [
            ('PctChange', 168)  # 因子名（和factors文件中相同），参数
        ],
    },
    {
        # 策略名称。与strategy目录中的策略文件名保持一致。
        "strategy": "Strategy_动量因子1",
        "offset_list": list(range(10, 20, 1)),
        "hold_period": "24H",
        "is_use_spot": False,
        # 资金权重。程序会自动根据这个权重计算你的策略占比，具体可以看1.8的直播讲解
        "cap_weight": 0.3,
        # 多头和空头资金配比，默认是 1:1
        "long_cap_weight": 1,  # 策略内多头资金权重
        "short_cap_weight": 0,  # 策略内空头资金权重
        # 选币因子信息列表，用于`2_选币_单offset.py`，`3_计算多offset资金曲线.py`共用计算资金曲线
        "factor_list": [
            ('动量因子1', False, 150 * 24, 1)  # 因子名（和factors文件中相同），排序方式，参数，权重。
        ],
        # 确认过滤因子及其参数，用于`2_选币_单offset.py`进行过滤
        "filter_list": [
            ('PctChange', 150 * 24)  # 因子名（和factors文件中相同），参数
        ],
    },

    # 空头策略配置
    {
        # 策略名称。与strategy目录中的策略文件名保持一致。
        "strategy": "Strategy_ILLQStd",
        "offset_list": list(range(0, 6, 1)),
        "hold_period": "24H",
        "is_use_spot": True,
        # 资金权重。程序会自动根据这个权重计算你的策略占比，具体可以看1.8的直播讲解
        "cap_weight": 0.6,
        # 多头和空头资金配比，默认是 1:1
        "long_cap_weight": 0,  # 策略内多头资金权重
        "short_cap_weight": 1,  # 策略内空头资金权重
        # 选币因子信息列表，用于`2_选币_单offset.py`，`3_计算多offset资金曲线.py`共用计算资金曲线
        "factor_list": [
            ('ILLQStd', True, 720, 1)  # 因子名（和factors文件中相同），排序方式，参数，权重。
        ],
        # 确认过滤因子及其参数，用于`2_选币_单offset.py`进行过滤
        "filter_list": [
            ('QuoteVolumeMean', 720)  # 因子名（和factors文件中相同），参数
        ],
    },
    {
        # 策略名称。与strategy目录中的策略文件名保持一致。
        "strategy": "Strategy_Test",
        "offset_list": list(range(10, 15, 1)),
        "hold_period": "24H",
        "is_use_spot": False,
        # 资金权重。程序会自动根据这个权重计算你的策略占比，具体可以看1.8的直播讲解
        "cap_weight": 0.4,
        # 多头和空头资金配比，默认是 1:1
        "long_cap_weight": 0,  # 策略内多头资金权重
        "short_cap_weight": 1,  # 策略内空头资金权重
        # 选币因子信息列表，用于`2_选币_单offset.py`，`3_计算多offset资金曲线.py`共用计算资金曲线
        "factor_list": [
            ('AwesomeTest', True, 720, 1)  # 因子名（和factors文件中相同），排序方式，参数，权重。
        ],
        # 确认过滤因子及其参数，用于`2_选币_单offset.py`进行过滤
        "filter_list": [
            ('QuoteVolumeMean', 720)  # 因子名（和factors文件中相同），参数
        ],
    }
]
